From e129936da914e63a853792b8dcd6d9b62bcce7a3 Mon Sep 17 00:00:00 2001 From: "awilliam@xenbuild.aw" Date: Mon, 6 Mar 2006 09:01:43 -0700 Subject: [PATCH] [IA64] fix INVALID_M2P_ENTRY and INVALID_M2P macro Signed-off-by: Isaku Yamahata --- xen/arch/ia64/xen/xenmem.c | 6 +++++- xen/include/asm-ia64/mm.h | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/xen/arch/ia64/xen/xenmem.c b/xen/arch/ia64/xen/xenmem.c index 5ad65a6491..80655c25dd 100644 --- a/xen/arch/ia64/xen/xenmem.c +++ b/xen/arch/ia64/xen/xenmem.c @@ -35,6 +35,8 @@ void paging_init (void) { unsigned int mpt_order; + unsigned long i; + /* Create machine to physical mapping table * NOTE: similar to frame table, later we may need virtually * mapped mpt table if large hole exists. Also MAX_ORDER needs @@ -47,7 +49,9 @@ paging_init (void) panic("Not enough memory to bootstrap Xen.\n"); printk("machine to physical table: 0x%lx\n", (u64)mpt_table); - memset(mpt_table, INVALID_M2P_ENTRY, mpt_table_size); + for (i = 0; i < (1UL << mpt_order); i++) { + mpt_table[i] = INVALID_M2P_ENTRY; + } /* Other mapping setup */ zero_page_memmap_ptr = virt_to_page(ia64_imva(empty_zero_page)); diff --git a/xen/include/asm-ia64/mm.h b/xen/include/asm-ia64/mm.h index 38fa763377..03c1737cbc 100644 --- a/xen/include/asm-ia64/mm.h +++ b/xen/include/asm-ia64/mm.h @@ -414,8 +414,8 @@ extern unsigned long lookup_domain_mpa(struct domain *d, unsigned long mpaddr); #undef machine_to_phys_mapping #define machine_to_phys_mapping mpt_table -#define INVALID_M2P_ENTRY (~0U) -#define VALID_M2P(_e) (!((_e) & (1U<<63))) +#define INVALID_M2P_ENTRY (~0UL) +#define VALID_M2P(_e) (!((_e) & (1UL<<63))) #define IS_INVALID_M2P_ENTRY(_e) (!VALID_M2P(_e)) #define set_gpfn_from_mfn(mfn, pfn) (machine_to_phys_mapping[(mfn)] = (pfn)) -- 2.30.2